package demo06Exception;

import java.io.FileNotFoundException;
import java.io.IOError;
import java.io.IOException;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User:咭咭熊
 * Date:2021 - 09 - 27
 * Time:15:11
 */

/***
 * 1.异常的继承机构：基类是Throwable;Error 和Exception继承Throwable;
 * RunntimeException 和 IOException 等继承Exception；
 *
 * 2.编译时期异常，需要使用trycatch进行包裹；
 *
 * 3.在异常处理中，如释放资源、关闭数据库、关闭文件等由finally语句来完成；
 *
 */
public class Test01 {
    //捕捉异常的时候，从上到下，一定注意顺序；
    //异常顺序：先子类后父类异常
    public void getCustomerInfo(){
        try{
            // do something that can may cause an exception
            throw new FileNotFoundException();
            /*throw new IOException();*/
        }catch(FileNotFoundException e){//FileNotFopundEcxception是IOException的在一个子类
            System.out.println("FileNotFoundException!");
        }catch(IOException e){ // IOException是Exception的一个子类
            System.out.println("IOException");
        }catch (Exception e){// Exception 是所有异常的父类
            System.out.println("Exception");
        }
    }

    public static void main(String[] args) {

    }

    /**
     * 1.
     */
    public static void testMethod(){
        System.out.println("testMethod");
    }

    public static void main1(String[] args) {
        //testMethod方法是静态的，不依赖于对象
        ((Test01)null).testMethod();//结果：运行正常，输出testMethod
    }
}
